/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bff.bjj.dao;

import com.bff.bjj.musicobjects.BJJDatabaseProgress;

/**
 *
 * @author bfindeisen
 */
public interface DatabaseDao {

    /**
     * Returns the progress of the database scan. Progress results are stored in
     * a {@link BJJDatabaseProgress} object.
     *
     * @return a {@link BJJDatabaseProgress} containing scan results
     */
    public BJJDatabaseProgress getScanProgress();

    /**
     * Scans music directory for new or changed music
     */
    public void rescan();

    /**
     * Clears the database and scans the music directory
     */
    public void clearDatabaseAndRescan();

    /**
     * Returns true if the database is rescanning, false if not
     *
     * @return true if rescanning, false otherwise
     */
    public boolean isRescanning();
}
